首页> 外文OA文献 >Run Generation Revisited: What Goes Up May or May Not Come Down
【2h】

Run Generation Revisited: What Goes Up May or May Not Come Down

机译:再运行一代:五月或五月不会降临的情况

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

In this paper, we revisit the classic problem of run generation. Rungeneration is the first phase of external-memory sorting, where the objectiveis to scan through the data, reorder elements using a small buffer of size M ,and output runs (contiguously sorted chunks of elements) that are as long aspossible. We develop algorithms for minimizing the total number of runs (orequivalently, maximizing the average run length) when the runs are allowed tobe sorted or reverse sorted. We study the problem in the online setting, bothwith and without resource augmentation, and in the offline setting. (1) We analyze alternating-up-down replacement selection (runs alternatebetween sorted and reverse sorted), which was studied by Knuth as far back as1963. We show that this simple policy is asymptotically optimal. Specifically,we show that alternating-up-down replacement selection is 2-competitive and nodeterministic online algorithm can perform better. (2) We give online algorithms having smaller competitive ratios with resourceaugmentation. Specifically, we exhibit a deterministic algorithm that, whengiven a buffer of size 4M , is able to match or beat any optimal algorithmhaving a buffer of size M . Furthermore, we present a randomized onlinealgorithm which is 7/4-competitive when given a buffer twice that of theoptimal. (3) We demonstrate that performance can also be improved with a small amountof foresight. We give an algorithm, which is 3/2-competitive, withforeknowledge of the next 3M elements of the input stream. For the extreme casewhere all future elements are known, we design a PTAS for computing the optimalstrategy a run generation algorithm must follow. (4) Finally, we present algorithms tailored for nearly sorted inputs whichare guaranteed to have optimal solutions with sufficiently long runs.
机译:在本文中,我们回顾了运行生成的经典问题。运行生成是外部内存排序的第一阶段,其目的是扫描数据,使用大小为M的小缓冲区对元素进行重新排序,并尽可能长地进行输出运行(元素的连续排序块)。我们开发了用于在允许对运行进行排序或反向排序时最小化运行总数(等效地,最大化平均运行长度)的算法。我们在具有或不具有资源增加的情况下的联机设置中以及在脱机设置中研究该问题。 (1)我们分析了上下交替的替换选择(在排序和反向排序之间交替运行),这是Knuth早在1963年就研究的。我们证明了这种简单的策略是渐近最优的。具体来说,我们证明了上下交替替换选择具有2竞争性,并且节点确定性在线算法的效果更好。 (2)我们通过资源增强为在线算法提供了竞争比较小的算法。具体来说,我们展示了一种确定性算法,当给定大小为4M的缓冲区时,它可以匹配或击败具有大小为M的缓冲区的任何最佳算法。此外,我们给出了一个随机的在线算法,当给定两倍于最优缓冲区的缓冲区时,它是7/4竞争的。 (3)我们证明,通过少量的预见也可以提高绩效。我们给出了一种具有3/2竞争性的算法,该算法具有输入流的下3M元素的知识。对于所有未来元素都已知的极端情况,我们设计了PTAS,用于计算运行生成算法必须遵循的最佳策略。 (4)最后,我们提出了针对几乎排序的输入量身定制的算法,这些算法保证具有足够长的运行时间的最佳解决方案。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号